package dao;

import bean.UserInfo;
import bean.UserInfor;

import java.util.List;
import java.util.Map;

/**
 * @classname:userDAO
 * @description:
 * @author: Mr.Z
 * @date: 2020/12/28 17:19
 * @version: 0.1
 * @since:1.8
 */
public interface UserDAO {
    /**
     *
     * @return 是否添加成功结果
     */
    int addUser();

    /**
     *
     * @param userInfor 添加用户的信息
     * @return 受影响的记录数
     */
    int addUserParam(UserInfor userInfor);

     int  addUserParams(UserInfo userInfo);
    /**
     *
     * @param id  要删除用户的Id
     * @return 返回从删除成功与否
     */
    int deleteUserById(int id);

    /**
     *
     * @param ids 要删除用户信息的id数组
     * @return 返回受影响的行数
     */
    int deleteUserMany(int[] ids);

    /**
     *
     * @param id  要查询的Id
     * @return  查询的结果
     */
    UserInfor selectUserById(int id);

    /**
     *
     * @return 返回的是查询所有用户的List集合
     */

    List<UserInfor> selectAll();


    /**
     *
     * @param userInfor 传入要修改的用户信息
     * @return 返回修改成功的结果
     */
    int UpdateUserById(UserInfor userInfor);

    /**
     *
     * @param page 页码
     * @return 页内记录数
     */
    List<UserInfor> selectUserByPage(int page);

    /**
     *
     * @return 总页数
     */
    long selectCountPage();

    /**
     *
     * @param map  传入要查询字段map集合
     * @return   返回查询到的数据集合
     */
    List<UserInfor>   selectUserByParams(Map<String, Object> map);


    List<Map<String,Object>> selectUserRoleAndPer(int uid);
}
